home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.19960715-19961006 / 000094_news@columbia.edu _Sun Jul 28 20:37:09 1996.msg < prev    next >
Internet Message Format  |  2020-01-01  |  10KB

  1. Return-Path: news@columbia.edu
  2. Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.35.30]) by watsun.cc.columbia.edu (8.7.5/8.7.3) with ESMTP id UAA03554 for <kermit.misc@watsun.cc.columbia.edu>; Sun, 28 Jul 1996 20:37:09 -0400 (EDT)
  3. Received: (from news@localhost) by newsmaster.cc.columbia.edu (8.7.5/8.7.3) id UAA08395 for kermit.misc@watsun; Sun, 28 Jul 1996 20:37:08 -0400 (EDT)
  4. Path: news.columbia.edu!sol.ctr.columbia.edu!news.uoregon.edu!newsfeed.internetmci.com!news.mathworks.com!news.PBI.net!decwrl!nntp.crl.com!nntp.crl.com!croten
  5. From: croten@crl.crl.com (Charles Roten)
  6. Newsgroups: comp.protocols.kermit.misc,comp.dcom.modems
  7. Subject: Re: Problem getting 28800 bps in C-Kermit 5A(190) on a v.34 internal
  8. Date: 28 Jul 1996 22:39:57 GMT
  9. Organization: Widgets, Inc.
  10. Lines: 160
  11. Message-ID: <CROTEN.96Jul28153957@crl.crl.com>
  12. References: <CROTEN.96Jul24005129@crl.crl.com> <4t63nh$imc@samba.rahul.net>
  13.     <CROTEN.96Jul27005455@crl.crl.com> <CROTEN.96Jul27022451@crl.crl.com>
  14.     <1996Jul28.193939.943@ia-us.com>
  15. NNTP-Posting-Host: crl.com
  16. In-reply-to: glenn@ia-us.com's message of Sun, 28 Jul 1996 19:39:39 GMT
  17. Xref: news.columbia.edu comp.protocols.kermit.misc:5666 comp.dcom.modems:145922
  18.  
  19. In article <1996Jul28.193939.943@ia-us.com> glenn@ia-us.com (Glenn Herteg) 
  20. writes:
  21.  
  22. me> I _can_ set the speed to 38400 .. but max throughput indicates a solid 
  23. me> connection at _half_ that speed, 19200.  I _cannot_ seem to access 
  24.    >>>[...]
  25. me> BTW, the system is an elderly Sun 386i, ...
  26.  
  27. glenn> Right there you've probably noted the real culprit.  A Sun 386i 
  28. glenn> must be running an extremely old version of SunOS, 
  29.  
  30. No fooling.  How about SunOS 4.0.2 .. which was the _last_ version shipped 
  31. with that box ?  There are random rumors of units with a beta version of 
  32. 4.0.3, but these are as illusive as proof of the afterlife.  8^)    8^)  
  33.  
  34. glenn>                                                    and the tty 
  35. glenn> drivers from those days are known to have broken flow-control.  I 
  36. glenn> have the same problem in a Sun 3/80 running SunOS 4.1.1_U1; see below.
  37.  
  38. me> I just tried to download a mail archive of uuencoded stuff with two 
  39. me> versions of the above .kermrc file.  Archive size was 2280872 bytes.  
  40. me> 
  41. me> _With_ 'set dial speed-matching off', I got the following:
  42. me> 1) _Lousy_ average packet sizes, all over the map but rarely at the 
  43. me>    practical maximum of 8999 bytes.  
  44. me> 2) _Lousy_ throughput .. around 1200 CPS.  
  45. me> 3) Premature termination due to multiple timeouts less than a quarter of 
  46. me>    the way through the download.  
  47. me> 
  48. me>> Another problem I get from this combination of C-Kermit, terminal 
  49. me>> emulator, and windowing system on my box is the (quite sudden) 
  50. me>> interruption of a file transmission with the "too many NAKs" complaint 
  51. me>> from C-Kermit.  
  52. me>> 
  53. me>> Owing to the fact that I am not _sure_ of binary file transmission 
  54. me>> accuracy ...
  55. me> 
  56. me> In conclusion .. "set dial speed-matching off" makes things WORSE .. a LOT 
  57. me> worse.  
  58.  
  59. glenn> What you describe are all symptoms of the same problem I'm seeing, 
  60. glenn> which is that Kermit does not cope gracefully (ahem) with broken 
  61. glenn> flow control.  I wouldn't mind so much, except that its attempted 
  62. glenn> recovery can often result in a corrupted file getting 
  63. glenn> transferred -- yep, the right number of bytes in the file at the 
  64. glenn> "receiving end, and kermit claims it's done, but a UNIX sum" at 
  65. glenn> both ends reveals the file didn't make it across intact.  And this 
  66. glenn> is in spite of using Block Check 3 for checksumming packets!  I had 
  67. glenn> somebody tell me the chances of this happening were 1 in {large 
  68. glenn> number}; but sorry, folks, it happens in a macroscopic percentage 
  69. glenn> of the time (half the time, perhaps?) on multi-megabyte files, 
  70. glenn> under conditions I'll describe.
  71.  
  72. glenn> I have a Sun-3/80 running C-Kermit 5A(189), 30 June 93, SunOS 4.1 
  73. glenn> (BSD),  with a 9600-baud Telebit QBlazer attached to serial port 
  74. glenn> B.  On  this serial line, I have installed a tap such that I can 
  75. glenn> direct one side or the other of the conversation to an old dumb 
  76. glenn> terminal.  By setting the terminal into "monitor" mode, I can see 
  77. glenn> all the control characters going back and forth as well as the 
  78. glenn> text -- a handy serial-line debugging tool.
  79.  
  80. glenn> Normally, I connect to the modem by setting the serial port to 19200 
  81. glenn> baud. This lets me take advantage of some buffering in the modem 
  82. glenn> when I send stuff, and it generally works just fine.  I can 
  83. glenn> download large files from my ISP just fine in this configuration, 
  84. glenn> without error; the effective rate is choked by the 9600 baud modem 
  85. glenn> connection, so that's all the 3/80 sees, and it can handle that 
  86. glenn> rate just fine.  (I've tried a 19200 baud modem, and the poor 
  87.                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  88. glenn> 68030-with-two-wait-states in the 3/80 is overloaded at that speed, and 
  89.        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  90. glenn> must invoke flow control regularly to choke back the transfer rate.)
  91.  
  92. I wonder if its really your CPU.  You imply you're using a on-motherboard 
  93. serial port, if I read you correctly .. mind you, I'm no expert on Sun 3/80 
  94. hardware, so I don't know how many serial ports the motherboard on that 
  95. beast could support .. just guessing.  
  96.  
  97. But back when I used My OS's DOS emulator and MS-kermit for commo functions, 
  98. I used _serial_ _port_ _A_ _on_ _the_ _motherboard_.  The I/O of which, so 
  99. I'm told, was limited by the UART on the motherboard.  Now, I've tried a 
  100. 9600 BPS Zoom modem on that sucker .. and, no soap.  It seems _totally_ 
  101. unable to negotiate speeds in excess of 2400 BPS.  Just _forget_ about 
  102. 19200 bps or 28800 bps.  Probable culprit .. a neolithic UART.  
  103.  
  104. My old box _does_ have an AT bus .. and there are drivers that let UNIX 
  105. use it, which I "modload" from /etc/rc.local on boot.  So I picked up the 
  106. _internal_ modem I described earlier, with it's _own_ bloody UART, which 
  107. fits right into one of the (sadly unpopulated) card slots on said AT bus.  
  108. Then, again from /etc/rc.local, I built a second device special file, 
  109. /dev/ttym1, just as the 386i list suggested.  I can talk to _that_ port 
  110. using my new modem from UNIX, as serial port B, IRQ 3.  Leaving serial 
  111. port A, /dev/ttya, without a job.  Not to mention ths DOS emulator.  
  112.  
  113. Under the _present_ arrangement, with the motherboard's serial port 
  114. completely bypassed and out of it, I routinely (well, not _quite_ 
  115. routinely .. 8^) transfer files at an effective 1920 CPS.  And my CPU 
  116. loading, as reported by 'perfmeter' and 'perfmon' (yup, my OS is _that_ 
  117. old 8^), is _nil_.  Too small to see.  
  118.  
  119. glenn> Sometimes I want to turn around and send out such a file to 
  120. glenn> another site.  If I forget to think about it and just dial out 
  121. glenn> using the same parameters, things will appear to work okay -- for 
  122. glenn> awhile.  On the dumb terminal, though, I can see lots of CTRL-S 
  123. glenn> and CTRL-Q characters being put out by the modem as it tries to 
  124. glenn> cope with the overload of receiving data at 19200 and only being 
  125. glenn> able to send at 9600.
  126.  
  127. glenn> The computer is pretty busy in this mode, so I'll often wander 
  128. glenn> away, and  come back to discover the perfmeter has dropped to zero 
  129. glenn> load, and kermit isn't doing much.  If I recall correctly, a "
  130. glenn> Timeout" error is displayed in the fullscreen display.  If I allow 
  131. glenn> this to go on, it may eventually recover and restart the transfer 
  132. glenn> at full speed -- but that's generally after a period where it 
  133. glenn> receives stuff and NAKs bunches of packets.  I've learned that if
  134. glenn> the transfer gets into this state but eventually completes, the 
  135. glenn> *received  file must* be checksummed for integrity outside of 
  136. glenn> Kermit, because the Block Check 3 on the packet level was 
  137. glenn> inadequate to ensure a reliable transfer.
  138.  
  139. I get the same sort of behavior .. with an internal modem, low CPU loading, 
  140. and rtc/cts flow control.  You earlier mentioned that the misbehavior was, 
  141. you suspected, at the device-driver level.  Perhaps it is independent of 
  142. these other issues.  
  143.  
  144. Oh, yes, before I forget .. I've got rts/cts flow control set up in both 
  145. C-Kermits, fore-and-aft, in their .kermrc files.  And I've checked both 
  146. using "show".  But when I add in "&k3" to the dialin string I feed C-Kermit 
  147. on my end, to _force_ my modem to rts/cts flow control, it (again) makes 
  148. matters _worse_ .. file transfers screwed up in much the same fashion 
  149. except worse, and sooner) as with 'set dial speed-matching off' .. multi-
  150. second periods of lockup in interactive throughput (a minute or more, in 
  151. some cases) .. a mess.  _Ignoring_/_not_using_ "&k3" in the dialin string 
  152. makes all these pathologies go away.  _HUH_ ?!?!?  
  153.  
  154. glenn> This circumstance raises a design issue for future versions of 
  155. glenn> Kermit.  There ought to be a way to perform a separate checksum 
  156. glenn> algorithm over the entire file at each end of the transfer, and have 
  157. glenn> these secondary checksums compared once the transfer is complete.  
  158. glenn> This ought to be automated as part of the protocol, if only under 
  159. glenn> control of some new option.  Right now, I cannot trust any large 
  160. glenn> transfer without checking manually.
  161.  
  162. glenn> If somebody (Frank?) is interested in the details, I suppose I 
  163. glenn> could set up a transfer in some kind of debug mode and log all the 
  164. glenn> activity, if that would help diagnose the problem.  (Obviously, 
  165. glenn> the log files would be quite large.)  In particular, I'd like to 
  166. glenn> know how the packet checksumming is fooled on such a regular basis.
  167.  
  168. glenn> The "fix" in my situation is to remember to use a different set of 
  169. glenn> options to connect when I want to send files from the 3/80.  I end 
  170. glenn> up having a separate line in my ~/.kdd file to set the computer 
  171. glenn> port speed to 9600 baud to match the modem's negotiated connection 
  172. glenn> speed.  Under these conditions, there are far fewer CTRL-S and 
  173. glenn> CTRL-Q characters exchanged, so the computer's broken flow-control 
  174. is not driven into its failure mode.
  175.  
  176. glenn> Glenn Herteg
  177. glenn> glenn@ia-us.com
  178.